package com.toonan.system.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;

import com.toonan.core.matatype.Dto;
import com.toonan.core.util.WebplusMongo;
import com.toonan.core.util.WebplusUtil;
import com.toonan.core.vo.PageResult;
import com.toonan.system.dao.DictIndexDao;
import com.toonan.system.model.DictIndex;

/**
 * 
 * @ClassName:  DictIndexService   
 * @Description:TODO
 * @author: 陈骑元（chenqiyuan@toonan.com)
 * @date:   2022年2月18日 下午10:52:59     
 * @Copyright: 2022 www.toonan.com Inc. All rights reserved. 
 * 注意：本内容仅限于广州市图南软件有限公司内部传阅，禁止外泄以及用于其他的商业目
 */
@Service
public class DictIndexService {
    
	@Autowired
	private DictIndexDao dictIndexDao;
	
	/**
	 * 
	 * 简要说明：插入数据
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年2月18日 下午11:32:23 
	 * @param 说明
	 * @return 说明
	 */
	public boolean insert(DictIndex dictIndex) {
		
		DictIndex dictIndexDb=dictIndexDao.insert(dictIndex);
		if(WebplusUtil.isNotEmpty(dictIndexDb.getDictIndexId())) {
			
			return true;
		}
		return false;
	}
	
	/**
	 * 
	 * 简要说明：更新一条记录
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年2月18日 下午11:32:23 
	 * @param 说明
	 * @return 说明
	 */
	public boolean updateById(DictIndex dictIndex) {
		
		return dictIndexDao.updateById(dictIndex);
	}
	/**
	 * 
	 * 简要说明：更新一条记录
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年2月18日 下午11:32:23 
	 * @param 说明
	 * @return 说明
	 */
	public boolean removeById(String id) {
		
		return dictIndexDao.removeById(id);
	}
	/**
	 * 
	 * 简要说明：查找一条字典索引
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年2月18日 下午11:35:53 
	 * @param 说明
	 * @return 说明
	 */
	public DictIndex findById(String id) {
		
		return dictIndexDao.findById(id);
	}
	/**
	 * 
	 * 简要说明：分页查询
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年2月18日 下午11:10:58 
	 * @param 说明
	 * @return 说明
	 */
	public PageResult findPage(Dto pDto) {
		Query query=new Query();
    	WebplusMongo.like(query,"dictKey",pDto);
    	WebplusMongo.like(query,"dictName", pDto);
    	WebplusMongo.withSortDesc(query, "createTime");
    	PageResult pageResult=new PageResult(pDto);
    	return dictIndexDao.findPage(query, pageResult);
	}
	
	/**
	 * 
	 * 简要说明：检查参数健的唯一性
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年2月13日 上午10:08:08 
	 * @param 说明 paramKey 参数健
	 * @return 说明
	 */
	public boolean checkDictKeyUnion(String dictKey) {
	    Query query=WebplusMongo.eq("dictKey",dictKey);
		return dictIndexDao.count(query)>0;
	}
}
